package com.cn.boot.student.util;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

/**
 * 文件上传工具类
 */
public class UploadFile {
    public static String upload(MultipartFile multipartFile){
        //判断文件是否为空
        if (!multipartFile.isEmpty()) {
            //获取原来的文件名
            String oldFileName = multipartFile.getOriginalFilename();//a.jpg
            //上传目录地址
            String path = MyPath.IMG_PATH.getPath() + MyPath.LOAD_PATH.getPath();
            //随机字符串
            String randomStr = UUID.randomUUID().toString();
            //判断原文件名是否为空
            assert oldFileName != null;
            //得到新的文件名
            String newFileName = randomStr + "--------" + oldFileName;
            //创建新的文件对象
            File file = new File(path, newFileName);
            //判断目标目录是否存在
            if (!file.getParentFile().exists()) {
                //如果目录不存在则创建目录
                file.getParentFile().mkdirs();
            }
            try {
                //将文件上传本地目录
                multipartFile.transferTo(file);
                //返回文件名
                return newFileName;
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}
